// coupon/coupon.js
const api = require("../request/api")
const request = require("../request/request")
const util = require("../utils/util")
const App = getApp()
Page({

    /**
     * 页面的初始数据
     */
    data: {
        barHeight: App.globalData.paddingTop,

        // 两个下拉框数据
        couType: {
            value: 'all',
            options: [
                {
                    value: 'all',
                    label: '全部',
                },
                {
                    value: 'not0',
                    label: '满减券',
                },
                {
                    value: 'min0',
                    label: '无门槛',
                },
            ],
        },
        couStatus: {
            value: 'allstatus',
            options: [
                {
                    value: 'allstatus',
                    label: '全部',
                },
                {
                    value: 'one',
                    label: '即将失效',
                },
                {
                    value: 'two',
                    label: '未到时间',
                },
            ],
        },

        // 优惠券数据
        couArray: [
        ],
        // 优惠券使用状态
        couponStatus: '1',
        // 可使用优惠券
        canUseCoupon: [],
        // 已使用优惠券
        UsedCoupon: [],
        // 已失效优惠券
        dataOutCoupon: [],

        // 优惠券类目
        couTypeName: ['', '产品券', '', '', '', '', '', '满减券', '无门槛', '新人券'],
        styledata: {
            "bg_color": "white",
            "color": "#000",
            "leftflag": true,
            "homeflag": true,
            "name": "我的优惠券"
        },
    },

    // 索引栏事件
    onTabsChange(event) {
        let status = event.detail.value
        // console.log(`Change tab, tab-panel value is ${event.detail.value}`);
        this.setData({
            couponStatus: status
        })
        this.getMyCoupons()
    },

    // 获取本用户所有已领取的优惠券
    async getMyCoupons() {
        // type: 0 所有记录、1 未使用、2 已使用、3 已失效
        let params = {
            uid: App.globalData.uid,
            type: this.data.couponStatus
        }
        let myCoulist = await request.post(api.myCouponList, params)

        // 可用
        let tem1 = myCoulist.filter((item, index) => {
            if (item.is_userd == 0) return true
        })
        // 已用
        let tem2 = myCoulist.filter((item, index) => {
            if (item.is_userd == 1) return true
        })
        // 已失效
        let tem3 = myCoulist.filter((item, index) => {
            if (item.is_close == 1) return true
        })

        this.setData({
            canUseCoupon: tem1,
            UsedCoupon: tem2,
            dataOutCoupon: tem3
        })

        wx.stopPullDownRefresh()
        let timerout = setTimeout(() => {
            util.hideLoading()
            clearTimeout(timerout)
        }, 1000);
        // console.log(myCoulist)
    },

    // 券类型变更事件
    onChangeType(e) {
        // console.log('类型', e);
        this.setData({
            'couType.value': e.detail.value,
        });
        // console.log(this.data.couType.value);

    },

    // 券状态变更事件
    onChangeStatus(e) {
        // console.log('状态', e);
        this.setData({
            'couStatus.value': e.detail.value,
        });
        // console.log(this.data.couStatus.value);
    },
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: async function (options) {
        if (!App.globalData.uid) {
            let flag = await App.confirmLogin('查看我的优惠券需登录操作')
            if (flag) {
                this.getMyCoupons()
            } else {
                wx.navigateBack({
                    delta: 1
                })
            }
        } else {
            this.getMyCoupons()
        }
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: async function () {
        this.setData({
            // 可使用优惠券
            canUseCoupon: [],
            // 已使用优惠券
            UsedCoupon: [],
            // 已失效优惠券
            dataOutCoupon: [],
        })
        util.showLoading('正在刷新')
        await this.getMyCoupons()
    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    }
})